package com.yxq.mdt.app.modules.auction.model;


import com.yxq.mdt.app.base.RespBase;
import com.yxq.mdt.app.modules.auction.bean.AuctionList;
import com.yxq.mdt.app.modules.auction.bean.AuctionProfitBean;
import com.yxq.mdt.app.modules.auction.bean.AuctionTxBean;
import com.yxq.mdt.app.modules.auction.bean.HonorValueBean;
import com.yxq.mdt.app.modules.auction.bean.MyTeamFansBean;

import io.reactivex.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;

public interface AuctionApi {
//    /**
//     * 查询自己的粉丝
//     */
//    @GET("mdf/api/pm/userFans/getPmUserFansByUserId")
//    Observable<RespBase<MyTeamFansBean>> getAuctionFansList(@Query("pageNum") int pageNum, @Query("pageSize") int pageSize);

    /**
     * 获取用户等级 荣誉值
     */
    @GET("mdf/api/pm/userFans/getUserByUserId")
    Observable<RespBase<HonorValueBean>> getHonorValue();

    /**
     * 获取拍卖列表
     */
    @GET("mdf/api/pm/auction/getAuctionListByType")
    Observable<RespBase<AuctionList>> getAuctionListByType(@Query("type") int type, @Query("pageNum") int pageNum, @Query("pageSize") int pageSize);

    /**
     * 团长申请接口
     */
    @POST("mdf/api/pm/userFans/addPmUserGrade")
    @FormUrlEncoded
    Observable<RespBase<String>> addPmUserGrade(@Field("oldLevelId") String oldLevelId, @Field("newLevelId") String newLevelId);

    /**
     * 获取提现记录以及提现总金额
     */
    @GET("mdf/api/pm/userCash/getUserCashList")
    Observable<RespBase<AuctionProfitBean>> getUserCashList(@Query("pageNum") String pageNum, @Query("pageSize") String pageSize);

    /**
     * 获取收益记录以及提现金额
     */
    @GET("mdf/api/pm/userCash/getUserIncomeList")
    Observable<RespBase<AuctionTxBean>> getUserIncomeList(@Query("pageSize") int pageSize, @Query("pageNum") int pageNum, @Query("isEntry") String isEntry);

    /**
     * 提现申请接口
     *
     * @param drillNo     提现账号
     * @param userName    真实姓名
     * @param drillAmount 提现金额
     * @param userPhone   电话号码
     * @return
     */
    @POST("mdf/api/pm/userCash/addUserCash")
    @FormUrlEncoded
    Observable<RespBase<String>> addUserCash(@Field("drillNo") String drillNo, @Field("userName") String userName, @Field("drillAmount") String drillAmount, @Field("userPhone") String userPhone);

    /**
     * 查询是否有资格申请区县代理
     */
    @GET("mdf/api/pm/area/ifBecomeArea")
    Observable<RespBase<String>> ifBecomeArea();

    /**
     * 申请成为区县代理
     *
     * @param userRealname 真实姓名
     * @param userIdcard   身份证
     * @param districtId   区县id
     * @param userTel      联系方式
     * @return
     */
    @POST("mdf/api/pm/area/becomeArea")
    @FormUrlEncoded
    Observable<RespBase<String>> becomeArea(@Field("userRealname") String userRealname, @Field("userIdcard") String userIdcard, @Field("districtId") String districtId, @Field("userTel") String userTel);

    /**
     * 查询自己的直推粉丝及当前角色new
     */
    @GET("mdf/api/pm/userFans/getPmUserFansByUserId")
    Observable<RespBase<MyTeamFansBean>> getPmUserFansByUserId(@Query("pageNum") int pageNum, @Query("pageSize") int pageSize);

    /**
     * 查询间推粉丝及当前角色
     */
    @GET("mdf/api/pm/userFans/getPmUserFansWithLeveltwo")
    Observable<RespBase<MyTeamFansBean>> getPmUserFansWithLeveltwo(@Query("pageNum") int pageNum, @Query("pageSize") int pageSize);

    /**
     * 查看指定区域是否存在区域代理
     */
    @GET("mdf/api/pm/area/hasArea")
    Observable<RespBase<String>> hasArea(@Query("districtId") String districtId);

    /**
     * 查看预备团长申请状态
     */
    @GET("mdf/api/pm/prepare/getPrepared")
    Observable<RespBase<String>> getPrepared();

    /**
     * 预备团长申请接口
     *
     * @param userRealname 真实姓名
     * @param userIdcard   身份证
     * @param occupation   职业、身份
     * @param userTel      联系方式
     * @return
     */
    @POST("/mdf/api/pm/prepare/applyPrepared")
    @FormUrlEncoded
    Observable<RespBase<String>> applyPrepared(@Field("userRealname") String userRealname, @Field("userIdcard") String userIdcard, @Field("occupation") String occupation, @Field("userTel") String userTel);

    /**
     * 获取直推粉丝购买精品区商品的数量
     */
    @GET("mdf/api/pm/prepare/getGiftNumber")
    Observable<RespBase<String>> getGiftNumber();

    /**
     * 查询直推粉丝数
     */
    @GET("mdf/api/pm/userFans/getCountWithLevelone")
    Observable<RespBase<String>> getCountWithLevelone();
}
